# requests使用代理
"""
为什么使用代理:
    让服务器以为不是同一个客户端在请求
    防止我们的真实地址被泄露,防止被追究

理解使用代理的过程:
    代理ip是一个ip,指向的是一个代理服务器
    代理服务器能够帮我们向目标服务器转发请求

从发送请求的一方的角度,来区分正向或反向代理:
    正向代理:为浏览器或客户端（发送请求的一方）转发请求的.(浏览器知道最终处理请求的服务器的真实ip地址,如VPN)
    反向代理:不为浏览器或客户端（发送请求的一方）转发请求、而是为最终处理请求的服务器转发请求的.(浏览器不知道服务器的真实地址,如nginx)

为什么使用代理ip:
    为了防止频繁向一个域名发送请求被封ip
    让服务器以为不是同一个客户端在请求

proxies代理参数的使用:
    requests.get(url, proxies={})
proxies参数的格式： 字典
    proxies = {"协议http/https": "协议http/https://代理IP:端口号"}
"""
import requests

url = "https://www.baidu.com"

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36"}

# 准备代理的字典
proxies = {
    # 快代理(IP)网站: https://www.kuaidaili.com/free/inha/5/
    # 高匿代理IP:123.139.56.238, 125.123.158.141等
    "http": "http://123.139.56.238:9999"
}

response = requests.get(url, headers=headers, proxies=proxies)

print(response.content.decode())
